concat(leaf, y) → y
concat(cons(u, v), y) → cons(u, concat(v, y))
less_leaves(x, leaf) → false
less_leaves(leaf, cons(w, z)) → true
less_leaves(cons(u, v), cons(w, z)) → less_leaves(concat(u, v), concat(w, z))
↳ QTRS
↳ AAECC Innermost
concat(leaf, y) → y
concat(cons(u, v), y) → cons(u, concat(v, y))
less_leaves(x, leaf) → false
less_leaves(leaf, cons(w, z)) → true
less_leaves(cons(u, v), cons(w, z)) → less_leaves(concat(u, v), concat(w, z))
concat(leaf, y) → y
concat(cons(u, v), y) → cons(u, concat(v, y))
less_leaves(x, leaf) → false
less_leaves(leaf, cons(w, z)) → true
less_leaves(cons(u, v), cons(w, z)) → less_leaves(concat(u, v), concat(w, z))
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
concat(leaf, y) → y
concat(cons(u, v), y) → cons(u, concat(v, y))
less_leaves(x, leaf) → false
less_leaves(leaf, cons(w, z)) → true
less_leaves(cons(u, v), cons(w, z)) → less_leaves(concat(u, v), concat(w, z))
concat(leaf, x0)
concat(cons(x0, x1), x2)
less_leaves(x, leaf)
less_leaves(leaf, cons(x0, x1))
less_leaves(cons(x0, x1), cons(x2, x3))
LESS_LEAVES(cons(u, v), cons(w, z)) → CONCAT(u, v)
LESS_LEAVES(cons(u, v), cons(w, z)) → LESS_LEAVES(concat(u, v), concat(w, z))
LESS_LEAVES(cons(u, v), cons(w, z)) → CONCAT(w, z)
CONCAT(cons(u, v), y) → CONCAT(v, y)
concat(leaf, y) → y
concat(cons(u, v), y) → cons(u, concat(v, y))
less_leaves(x, leaf) → false
less_leaves(leaf, cons(w, z)) → true
less_leaves(cons(u, v), cons(w, z)) → less_leaves(concat(u, v), concat(w, z))
concat(leaf, x0)
concat(cons(x0, x1), x2)
less_leaves(x, leaf)
less_leaves(leaf, cons(x0, x1))
less_leaves(cons(x0, x1), cons(x2, x3))
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
LESS_LEAVES(cons(u, v), cons(w, z)) → CONCAT(u, v)
LESS_LEAVES(cons(u, v), cons(w, z)) → LESS_LEAVES(concat(u, v), concat(w, z))
LESS_LEAVES(cons(u, v), cons(w, z)) → CONCAT(w, z)
CONCAT(cons(u, v), y) → CONCAT(v, y)
concat(leaf, y) → y
concat(cons(u, v), y) → cons(u, concat(v, y))
less_leaves(x, leaf) → false
less_leaves(leaf, cons(w, z)) → true
less_leaves(cons(u, v), cons(w, z)) → less_leaves(concat(u, v), concat(w, z))
concat(leaf, x0)
concat(cons(x0, x1), x2)
less_leaves(x, leaf)
less_leaves(leaf, cons(x0, x1))
less_leaves(cons(x0, x1), cons(x2, x3))
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
LESS_LEAVES(cons(u, v), cons(w, z)) → LESS_LEAVES(concat(u, v), concat(w, z))
LESS_LEAVES(cons(u, v), cons(w, z)) → CONCAT(u, v)
LESS_LEAVES(cons(u, v), cons(w, z)) → CONCAT(w, z)
CONCAT(cons(u, v), y) → CONCAT(v, y)
concat(leaf, y) → y
concat(cons(u, v), y) → cons(u, concat(v, y))
less_leaves(x, leaf) → false
less_leaves(leaf, cons(w, z)) → true
less_leaves(cons(u, v), cons(w, z)) → less_leaves(concat(u, v), concat(w, z))
concat(leaf, x0)
concat(cons(x0, x1), x2)
less_leaves(x, leaf)
less_leaves(leaf, cons(x0, x1))
less_leaves(cons(x0, x1), cons(x2, x3))
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
CONCAT(cons(u, v), y) → CONCAT(v, y)
concat(leaf, y) → y
concat(cons(u, v), y) → cons(u, concat(v, y))
less_leaves(x, leaf) → false
less_leaves(leaf, cons(w, z)) → true
less_leaves(cons(u, v), cons(w, z)) → less_leaves(concat(u, v), concat(w, z))
concat(leaf, x0)
concat(cons(x0, x1), x2)
less_leaves(x, leaf)
less_leaves(leaf, cons(x0, x1))
less_leaves(cons(x0, x1), cons(x2, x3))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
CONCAT(cons(u, v), y) → CONCAT(v, y)
cons2 > CONCAT1
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
concat(leaf, y) → y
concat(cons(u, v), y) → cons(u, concat(v, y))
less_leaves(x, leaf) → false
less_leaves(leaf, cons(w, z)) → true
less_leaves(cons(u, v), cons(w, z)) → less_leaves(concat(u, v), concat(w, z))
concat(leaf, x0)
concat(cons(x0, x1), x2)
less_leaves(x, leaf)
less_leaves(leaf, cons(x0, x1))
less_leaves(cons(x0, x1), cons(x2, x3))
↳ QTRS
↳ AAECC Innermost
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ EdgeDeletionProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
LESS_LEAVES(cons(u, v), cons(w, z)) → LESS_LEAVES(concat(u, v), concat(w, z))
concat(leaf, y) → y
concat(cons(u, v), y) → cons(u, concat(v, y))
less_leaves(x, leaf) → false
less_leaves(leaf, cons(w, z)) → true
less_leaves(cons(u, v), cons(w, z)) → less_leaves(concat(u, v), concat(w, z))
concat(leaf, x0)
concat(cons(x0, x1), x2)
less_leaves(x, leaf)
less_leaves(leaf, cons(x0, x1))
less_leaves(cons(x0, x1), cons(x2, x3))